A command menu used in current software products presents a set of functionalities or commands to a user for selection. The user generally controls the software product by navigating to the desired menu command and selecting it for execution. Some applications, such as Enterprise Resource Planning (ERP) software, provide a multitude of commands. To organize such commands, a hierarchical menu structure (e.g., tree-style structure), may be presented.
FIG. 1 shows an exemplary tree-style menu structure 100. The tree-style menu structure 100 may include a root node 102 at the topmost level, internal nodes 104 and 106 at lower levels, and terminal or leaf nodes 108 with no child nodes. Each leaf node 108 represents an executable command, while each internal node 104 and 106 represents a grouping of commands. For large software systems (e.g., SAP ERP Central Component or ECC), there may be so many functionalities such that the menu structure 100 has up to five or more levels. For example, as shown in FIG. 1, the deepest level of leaf nodes 108 is nine. The menu structure 100 represents a total of 200 commands.
With such complex menu structures, it is very difficult for the user or system operator to locate a certain command. It is very inefficient and time-consuming to execute a certain command each time it is desired. The user may have to expand many non-terminal nodes for many levels until the terminal node that represents the desired command is reached. Accordingly, there is a need for an improved framework that addresses these challenges.